home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Monster Media 1996 #15
/
Monster Media Number 15 (Monster Media)(July 1996).ISO
/
prog_d
/
odbcall.zip
/
SORTDEMO.ZIP
/
UNIT1.PAS
< prev
Wrap
Pascal/Delphi Source File
|
1995-11-05
|
3KB
|
110 lines
unit Unit1;
interface
uses
SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
Forms, Dialogs, StdCtrls, ExtCtrls, Grids, DataCtrl, TGQry, ODBCQry,
Buttons;
type
TForm1 = class(TForm)
ODBCCon1: TODBCCon;
ODBCQuery1: TODBCQuery;
DataGrid1: TDataGrid;
Panel1: TPanel;
ListBox1: TListBox;
Memo1: TMemo;
ClearSort: TBitBtn;
ReSort: TBitBtn;
Find: TButton;
Edit1: TEdit;
Label1: TLabel;
procedure ListBox1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure ClearSortClick(Sender: TObject);
procedure ReSortClick(Sender: TObject);
procedure FindClick(Sender: TObject);
private
{ Private declarations }
SortStr: String;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.ListBox1Click(Sender: TObject);
var
CurField: String;
begin
with ListBox1 do
begin
CurField := Items[ItemIndex];
if Copy(CurField, Length(CurField) - 3, 4) = ' des' then
CurField := Copy(CurField, 1, Length(CurField) - 4);
if Pos(CurField, SortStr) > 0 then exit
else
begin
if Length(SortStr) > 0 then
SortStr := SortStr + ', ' + Items[ItemIndex]
else
SortStr := Items[ItemIndex];
ODBCQuery1.Sort(SortStr);
Caption := SortStr;
end;
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
var
Index: Integer;
begin
SortStr := '';
with ODBCQuery1 do
begin
Prepared := True;
FieldByName('CharField').DisplaySize := 20;
Active := True;
{ fill listbox1 with a list of fields, use des for descending sorts }
for Index := 1 to FieldCount do
begin
ListBox1.Items.Add(Field[Index].FieldName);
ListBox1.Items.Add(Field[Index].FieldName + ' des');
end;
SortStr := 'DateField des, CharField';
Sort(SortStr); { sort on datefield descending and charfield ascending (default order)}
Caption := SortStr;
end;
end;
procedure TForm1.ClearSortClick(Sender: TObject);
begin
SortStr := '';
Caption := 'Un-sorted';
end;
procedure TForm1.ReSortClick(Sender: TObject);
begin
ODBCQuery1.ReSort;
end;
procedure TForm1.FindClick(Sender: TObject);
begin
{ this only performs a search based on the first field in the sort order }
ODBCQuery1.Find([Edit1.Text]);
{ to search on more than one field use the following syntax:
Query.Find([value1, value2, ..., valuen]);
See TVarRec or Type safe open arrays in the Delphi help for more
info on array of const. }
end;
end.